翻訳と辞書
Words near each other
・ Unconscious inference
・ Unconscious mind
・ Unconscious State
・ Unconscious thought theory
・ Unconsciousness
・ Unconsecrated (album)
・ Unconstructed state highways in California
・ Unconstructed state routes in Arizona
・ Uncontacted peoples
・ Uncontested shot
・ Uncontrollable Fatulence
・ Uncontrolled
・ Uncontrolled (album)
・ Uncontrolled airspace
・ Uncontrolled decompression
Uncontrolled format string
・ Uncontrolled intersection
・ Uncontrolled Substance
・ Uncontrolled waste
・ Unconventional Action
・ Unconventional computing
・ Unconventional gas
・ Unconventional oil
・ Unconventional protein secretion
・ Unconventional superconductor
・ Unconventional warfare
・ Unconventional warfare (United States Department of Defense doctrine)
・ Unconventional weapon
・ Unconventional wind turbines
・ Unconverted long-term prisoners


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

Uncontrolled format string : ウィキペディア英語版
Uncontrolled format string
Uncontrolled format string is a type of software vulnerability discovered around 1989 that can be used in security exploits. Previously thought harmless, format string exploits can be used to crash a program or to execute harmful code. The problem stems from the use of unchecked user input as the format string parameter in certain C functions that perform formatting, such as printf(). A malicious user may use the %s and %x format tokens, among others, to print data from the call stack or possibly other locations in memory. One may also write arbitrary data to arbitrary locations using the %n format token, which commands printf() and similar functions to write the number of bytes formatted to an address stored on the stack.
==Details==
A typical exploit uses a combination of these techniques to force a program to overwrite the address of a library function or the return address on the stack with a pointer to some malicious shellcode. The padding parameters to format specifiers are used to control the number of bytes output and the %x token is used to pop bytes from the stack until the beginning of the format string itself is reached. The start of the format string is crafted to contain the address that the %n format token can then overwrite with the address of the malicious code to execute.
This is a common vulnerability because format bugs were previously thought harmless and resulted in vulnerabilities in many common tools. MITRE's CVE project lists roughly 500 vulnerable programs as of June 2007, and a trend analysis ranks it the 9th most-reported vulnerability type between 2001 and 2006.〔(【引用サイトリンク】title=Vulnerability Type Distributions in CVE )
Format string bugs most commonly appear when a programmer wishes to print a string containing user supplied data. The programmer may mistakenly write printf(buffer) instead of printf("%s", buffer). The first version interprets buffer as a format string, and parses any formatting instructions it may contain. The second version simply prints a string to the screen, as the programmer intended.
Format bugs arise because C's argument passing conventions are not type-safe. In particular, the varargs mechanism allows functions to accept any number of arguments (e.g. printf) by "popping" as many arguments off the call stack as they wish, trusting the early arguments to indicate how many additional arguments are to be popped, and of what types.
Format string bugs can occur in other programming languages besides C, although they appear with less frequency and usually cannot be exploited to execute code of the attacker's choice.〔(Bugtraq: Format String Vulnerabilities in Perl Programs )〕
Format bugs were first noted in 1989 by the fuzz testing work done at the University of Wisconsin, which discovered an "interaction effect" in the C shell (csh) between its command history mechanism and an error routine that assumed safe string input.
The use of format string bugs as an attack vector was discovered by Tymm Twillman during a security audit of the ProFTPD daemon. The audit uncovered an snprintf that directly passed user-generated data without a format string. Extensive tests with contrived arguments to printf-style functions showed that use of this for privilege escalation was actually possible. This led to the first posting in September 1999 on the Bugtraq mailing list regarding this class of vulnerabilities, including a basic exploit.〔(Bugtraq: Exploit for proftpd 1.2.0pre6 )〕 It was still several months, however, before the security community became aware of the full dangers of format string vulnerabilities as exploits for other software using this method began to surface. The first exploits leading to successful privilege escalation attack were published simultaneously on the Bugtraq list in June 2000 by Przemysław Frasunek〔('WUFTPD 2.6.0 remote root exploit' - MARC )〕 and the person using nickname ''tf8''.〔('WuFTPD: Providing
*remote
* root since at least1994' - MARC
)〕 The seminal paper "Format String Attacks"〔(Bugtraq: Format String Attacks )〕 by Tim Newsham was published in September 2000.

抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「Uncontrolled format string」の詳細全文を読む



スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.